package com.example.abner.textviewselector;
import android.content.Context;
import android.graphics.Typeface;
import android.text.SpannableString;
import android.text.Spanned;
import android.text.style.StyleSpan;
import android.util.AttributeSet;
import android.widget.TextView;
import java.util.List;
/**
* Created by Abner on 15/6/17.
* QQ 230877476
* Email nimengbo@gmail.com
* 点赞人数显示控件(名字不可点击)
*/
public class PraiseTextView extends TextView {
private Context mContext;
private StyleSpan boldSpan;
public PraiseTextView(Context context) {
super(context);
mContext = context;
initView();
}
public PraiseTextView(Context context, AttributeSet attrs) {
super(context, attrs);
mContext = context;
initView();
}
public PraiseTextView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
mContext = context;
initView();
}
private void initView(){
setHighlightColor(getResources().getColor(R.color.transparent));
boldSpan = new StyleSpan(Typeface.BOLD);
}
/**
* 设置点赞的名字
*
* @param names
* @return
*/
public void setPraiseName(List<String> names) {
setText("");
String nameStr;
StringBuilder sBuilder = new StringBuilder();
for (String name : names) {
sBuilder.append(name);
sBuilder.append("、");
}
String lengthStr = "等" + names.size() + "人";
nameStr = sBuilder.substring(0, sBuilder.length() - 1);
nameStr += lengthStr;
SpannableString mSpannableString = new SpannableString(nameStr);
int start = nameStr.indexOf(lengthStr);
mSpannableString.setSpan(boldSpan
, 0, start, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //加粗
append(mSpannableString);
}
}